package java_test;

import java.util.ArrayList;
import java.util.List;

/**
 * list的交集，差集，并集，补集联系
 */
public class test_list_union {
    public static void main(String[] args){
        // 交集
        List<String> listA_01 = new ArrayList<String>(){{
            add("A");
            add("B");
        }};
        List<String> listB_01 = new ArrayList<String>(){{
            add("B");
            add("C");
        }};
        listA_01.retainAll(listB_01);
        System.out.println(listA_01); // 结果:[B]
        System.out.println(listB_01); // 结果:[B, C]

        // 差集
        List<String> listA_02 = new ArrayList<String>(){{
            add("A");
            add("B");
        }};
        List<String> listB_02 = new ArrayList<String>(){{
            add("B");
            add("C");
        }};
        listA_02.removeAll(listB_02);
        System.out.println(listA_02); // 结果:[A]
        System.out.println(listB_02); // 结果:[B, C]

        // 并集
        List<String> listA_03 = new ArrayList<String>(){{
            add("A");
            add("B");
        }};
        List<String> listB_03 = new ArrayList<String>(){{
            add("B");
            add("C");
        }};
        listA_03.removeAll(listB_03);
        listA_03.addAll(listB_03);
        System.out.println(listA_03); // 结果:[A, B, C]
        System.out.println(listB_03); // 结果:[B, C]
    }
}
